#!/bin/bash

ROOT_PATH="$(pwd)"
docker_volumns_base_path="$ROOT_PATH/volumes"
pull_online=y


# 是否离线安装
read -p "【安装提示】是否在线安装？(y/n)，默认：n: " pull_online
if [ -z "$pull_online" ]; then
    pull_online="n"
fi
if [ "$pull_online" = "y" ]; then
    echo "【安装提示】你选择了 在线安装"
else
    echo "【安装提示】你选择了 离线安装"
fi

##################################
##           设置 .env          ##
##################################
chmod +x ./initEnvValue.sh
./initEnvValue.sh "$ROOT_PATH" "$docker_volumns_base_path"
# 检查 脚本 的退出状态码
if [ $? -ne 0 ]; then
    echo "【安装提示】设置 环境变量值 失败，停止脚本执行。"
    exit 1  # 停止执行，并返回非零状态码
fi


##################################
##             mysql            ##
##################################
read -p "【安装提示】你是否需要安装MySQL（不安装则请指定已有的MySQL服务）？(y/n)，默认：y: " confirm
if [ -z "$confirm" ]; then
    confirm="y"
fi
if [ "$confirm" = "y" ]; then
    chmod +x ./mysql/install.sh
    ./mysql/install.sh "$ROOT_PATH" "$docker_volumns_base_path" "$pull_online"
    # 检查 脚本 的退出状态码
    if [ $? -ne 0 ]; then
        echo "【安装提示】MySQL 安装失败，停止脚本执行。"
        exit 1  # 停止执行，并返回非零状态码
    fi

else
    echo "【安装提示】你选择了不安装MySQL。"
fi


##################################
##             redis            ##
##################################
chmod +x ./redis/install.sh
./redis/install.sh "$ROOT_PATH" "$docker_volumns_base_path" "$pull_online"
# 检查 脚本 的退出状态码
if [ $? -ne 0 ]; then
    echo "【安装提示】redis 安装失败，停止脚本执行。"
    exit 1  # 停止执行，并返回非零状态码
fi


##################################
##           frontend           ##
##################################
chmod +x ./frontend/install.sh
./frontend/install.sh "$ROOT_PATH" "$docker_volumns_base_path" "$pull_online"
# 检查 脚本 的退出状态码
if [ $? -ne 0 ]; then
    echo "【安装提示】frontend 安装失败，停止脚本执行。"
    exit 1  # 停止执行，并返回非零状态码
fi


##################################
##           backend            ##
##################################
chmod +x ./backend/install.sh
./backend/install.sh "$ROOT_PATH" "$docker_volumns_base_path" "$pull_online"
# 检查 脚本 的退出状态码
if [ $? -ne 0 ]; then
    echo "【安装提示】backend 安装失败，停止脚本执行。"
    exit 1  # 停止执行，并返回非零状态码
fi



echo "【安装提示】************* 数据服务已全部安装完成。 *************"